การ Import ข้อมูลจาก MySQL Workbench บน Windows Server ไปยัง RDS
สวัสดีครับ POP จากบริษัท Classmethod (Thailand) ครับ
เราไม่สามารถจัดการ DB ของ RDS Instance ได้โดยตรง แต่เราสามารถเชื่อมต่อ EC2 Instance (เช่น Amazon Linux 2 หรือ Windows Server) และ RDS เข้าด้วยกันได้ ก็จะทำให้สามารถจัดการ DB ของ RDS Instance ผ่าน EC2 Instance ได้
แต่ครั้งนี้ผมจะมาแนะนำวิธีการจัดการ DB ของ RDS Instance ผ่าน EC2 (Windows Server) โดยใช้โปรแกรม MySQL Workbench ที่ติดตั้งใน Windows Server และทำการ Import ข้อมูลไปยัง RDS (MySQL) เนื่องจากวิธีการนี้จะทำให้เราสามารถ Import ข้อมูลในปริมาณงานที่มากและรวดเร็วได้ครับ
เป้าหมาย
สร้าง Windows Server ใน EC2 และสร้าง RDS (MySQL) จากนั้นเข้าไปที่ Windows Server แล้วติดตั้ง MySQL Workbench แล้วเชื่อมต่อกับ RDS (MySQL) และ Import ข้อมูลไปยัง RDS (MySQL)
ครั้งนี้จะดำเนินการบน AWS Management Console และบน Remote Desktop Connection (Windows Server ใน EC2)
- AWS Management Console
- Remote Desktop Connection
สร้าง Windows Server ใน EC2
ขั้นตอนนี้ดำเนินการใน AWS Management Console
ดูตัวอย่างการสร้าง Windows Server ได้ที่ลิงก์ด้านล่างนี้ครับ
ตัวอย่างตั้งค่าการสร้าง Windows Server ใน EC2
※Create Key pairs
Key pairs:tinnakorn-import-win
(ป้อนชื่อที่ต้องการ)
Key pair type:RSA
Private key file format:.pem
※Launch instances
Name and tags
Name:tinnakorn-import-win
(ป้อนชื่อที่ต้องการ)Application and OS Images (Amazon Machine Image)
Amazon Machine Image (AMI):Microsoft Windows Server 2022 Base
Instance type
Instance type:t3a.medium
(เลือกสเปคตามต้องการ)Key pair (login)
Key pair name - required:tinnakorn-import-win
(key pair ที่สร้างขึ้นเมื่อสักครู่นี้)Network settings
Firewall (security groups)
Security group name - required:tinnakorn-import-win
(ตั้งชื่อที่ต้องการ)
Description - required:tinnakorn-import-win
(ป้อนตามต้องการ)
Inbound security groups rules
▼ Security group rule 1 (TCP, 3389, xx.xx.xx.xx/32)
Type:rdp
| Source type:My IP
| Source:xx.xx.xx.xx/32
Configure storage
1x:30
GiBgp2
Root volume (Default)
สร้าง RDS (MySQL)
ขั้นตอนนี้ดำเนินการใน AWS Management Console
ครั้งนี้ผมจะสร้าง RDS เป็น Engine type MySQL
เพราะต้องการ Import ข้อมูลจาก MySQL Workbench ไปยัง RDS (MySQL) ครับ
นอกจากนี้เราสามารถใช้ RDS ที่เป็น Engine type อื่นๆ ที่ต้องการได้ หรือจะทำการติดตั้งโปรแกรมอื่นๆ ที่ใช้จัดการ MySQL ใน Windows Server ได้เช่นกันครับ
ดูรายละเอียดเกี่ยวกับวิธีการสร้าง RDS ได้ที่ลิงก์และตัวอย่างด้านล่างนี้ครับ
ตัวอย่างตั้งค่าการสร้าง RDS (MySQL)
※สร้าง Security Group สำหรับ RDS (MySQL)
Basic details
Security group name:tinnakorn-import-db
(ตั้งชื่อที่ต้องการ)
Description:tinnakorn-import-db
(ป้อนตามต้องการ)Inbound rules
Type:MYSQL/Aurora
| Source:Custom
|tinnakorn-import-win
(พิมพ์ค้นหาและเลือกชื่อ EC2 Instance ที่ต้องการให้เชื่อมต่อเข้ามา)※Create RDS (MySQL)
Choose a database creation method
◎ Standard create
Engine options
Engine type:MySQL
Edition:MySQL Community
Engine Version:MySQL 8.0.34
Templates
◎ Production
Availability and durability
Deployment options:Single DB instance
Settings
DB instance identifier:tinnakorn-import-db
▼ Credentials Settings
Master username:admin
Master password:PassW0rd
(รหัสผ่านนี้เป็นแค่ตัวอย่าง ให้ป้อนรหัสผ่านที่ต้องการ)
Confirm master password:PassW0rd
Instance configuration
DB instance class:
◎ Burstable classes (includes t classes)
db.t3.micro
Storage
Storage type:General Purpose SSD (gp2)
Allocated storage:20
▼ Storage autoscaling
✅ Enable storage autoscaling
Connectivity
Existing VPC security groups:✅ tinnakorn-import-db
(เลือก Security Group ที่สร้างสำหรับ RDS (MySQL))
ติดตั้ง MySQL Workbench
ขั้นตอนนี้ดำเนินการใน Remote Desktop Connection
Login เข้ามาที่ Windows Server ผ่าน Remote Desktop Connection แล้วเปิดเบราว์เซอร์ Microsoft Edge
ขึ้นมา
แล้วค้นหาคำว่า MySQL Workbench
และคลิก Download
หรือจะคัดลอกลิงก์ด้านล่างนี้ไปเปิดใน Remote Desktop Connection ก็ได้
https://www.mysql.com/products/workbench/
เลือก Select Operating System: Microsoft Windows
และคลิก Download
คลิก No thanks, just start my download.
แล้วเบราว์เซอร์จะดาวน์โหลดไฟล์ mysql-workbench-community-8.0.xx-winx64 จากนั้นคลิก Open file
ได้เลย
แล้วเริ่มติดตั้ง MySQL Workbench ตามนี้ได้เลยครับ
เชื่อมต่อ RDS (MySQL)
ขั้นตอนนี้ดำเนินการใน Remote Desktop Connection
ค้นหา MySQL Workbench
แล้วเลือก MySQL Workbench 8.0 CE
เมื่อเปิดขึ้นมาแล้วจะแสดงหน้าจอแบบนี้ จากนั้นเลือกแท็บ Database
และเลือก Connect to Database...
ไปที่หน้า AWS Management Console แล้วเข้าไปที่ Service 「RDS > Database ของเรา」 แล้วคัดลอก Endpoint เตรียมไว้
กลับมาที่ Remote Desktop Connection แล้วป้อนข้อมูลตามนี้
» Hostname: วาง Endpoint ที่คัดลอกมาจากขั้นตอนที่แล้ว
» Username: admin (ป้อนตามที่สร้างใน RDS (MySQL))
» Password: คลิก Store in Vault...
ป้อน Password ที่สร้างใน RDS (MySQL) แล้วคลิก OK
และคลิก OK
อีกครั้งเพื่อเชื่อมต่อไปยัง RDS (MySQL)
เมื่อสามารถเชื่อมต่อได้แล้วจะแสดงหน้าจอแบบนี้
Import ข้อมูลจาก MySQL Workbench บน Windows Server ไปยัง RDS (MySQL)
ขั้นตอนนี้ดำเนินการใน Remote Desktop Connection
ตรวจสอบ Administration และ Schemas เบื้องต้น
คลิก Administration
และคลิก Server Status
ก็จะเห็น Status ของ Database RDS (MySQL) (สามารถคลิกเปิด/ปิดหน้าต่างล่างและขวาได้ที่มุมขวาบน)
คลิก Schemas
ก็จะเห็น Database เริ่มต้นของระบบแสดงอยู่
*สมมติถ้าเรา Import ข้อมูลไปยัง RDS (MySQL) แล้ว ข้อมูลนั้นก็จะแสดงในนี้ ซึ่งจะอธิบายภายหลัง
Download Example Databases
คัดลอกลิงก์ด้านล่างนี้ไปเปิดที่เบราว์เซอร์ใน Remote Desktop Connection
https://dev.mysql.com/doc/index-other.html
แล้วเลื่อนลงมาที่หัวข้อ Example Databases แล้วคลิก Zip
ที่แถวของ world database จากนั้นเบราว์เซอร์จะเริ่มโหลดไฟล์ เมื่อเสร็จแล้วคลิกที่ไอคอนโฟลเดอร์เพื่อไปที่อยู่ของไฟล์
แล้วแตกไฟล์ที่ดาวน์โหลดมา (ครั้งนี้แตกไฟล์ไว้ที่หน้า Desktop) แล้วเปิดไฟล์ดู เลื่อนลงมาด้านล่างนิดน่อยก็จะแสดงข้อมูลแบบนี้
Import ข้อมูลไปยัง RDS (MySQL)
กลับมาที่โปรแกรม MySQL Workbench แล้วคลิก File
และเลือก Open SQL Script...
แล้ว Open ไฟล์ world
ที่แตกออกมาเมื่อสักครู่นี้
เมื่อ Open ไฟล์เสร็จแล้ว เลื่อนลงมาด้านล่างนิดน่อยก็จะแสดงข้อมูลแบบนี้ จากนั้นให้คลิกไอคอน 「⚡️
Execute the selected portion of the script or everything, if there is no selection」 เพื่อดำเนินการ Run ข้อมูลลง RDS (MySQL)
ระหว่างที่ระบบกำลัง Run ข้อมูลนั้น เราสามารถคลิกที่มุมขวาบนเพื่อเปิดหน้าต่างด้านล่างแล้วดูสถานะ Action Output ได้
เมื่อ Run ข้อมูลเสร็จแล้ว ดูที่ช่อง Schemas ด้านซ้าย แล้วคลิกปุ่ม Refresh
ก็จะเห็น Database world
ถูกเพิ่มขึ้นมาแล้ว ทีนี้เรามาตรวจสอบเนื้อหาข้างในกันครับ
คลิก ▶ Tables
แล้วคลิกขวา ▶ country
และเลือก Select Rows - Limit 1000
แล้วจะเห็นข้อมูลต่างๆใน Table country นี้ (คลิกปิดหน้าต่างล่างที่มุมขวาบน)
ต่อไปคลิกขวา ▶ city
และเลือก Select Rows - Limit 1000
แล้วจะเห็นข้อมูลต่างๆใน Table city นี้
เพียงเท่านี้การ Import ข้อมูลก็เสร็จเรียบร้อยครับ
สรุป
จากที่ผมได้ลองใช้ MySQL Workbench ทำการ Import ข้อมูลไปยัง RDS (MySQL) แล้ว ผมคิดว่าเป็นอีกช่องทางนึงที่สามารถสร้างฐานข้อมูลขนาดใหญ่ได้อย่างรวดเร็วมากๆ ไม่ว่าจะเป็นการสร้างฐานข้อมูลจากไฟล์ SQL ของฐานข้อมูลเก่า หรือจะสร้างฐานข้อมูลขึ้นมาใหม่ ก็สามารถทำได้ง่ายๆ ผ่าน MySQL Workbench นี้ได้เลยครับ
ผมหวังว่าบทความนี้จะเป็นประโยชน์ให้กับผู้อ่านได้นะครับ
POP จากบริษัท Classmethod (Thailand) ครับ !